﻿using System.Collections.Generic;
using System.Web;
using ECG.WebUI.Infrastructure;
using ECG.WebUI.Models;
using ECG.Utility;

namespace ECG.WebUI.CustomHelpers
{
    public class CommonHelpers
    {
        public static List<SelectOptionQuantity> SelectOptionQuantity()
        {
            var model = new List<SelectOptionQuantity>
                            {
                                new SelectOptionQuantity {Value = "1", Text = "1"},
                                new SelectOptionQuantity {Value = "2", Text = "2"},
                                new SelectOptionQuantity {Value = "3", Text = "3"},
                                new SelectOptionQuantity {Value = "4", Text = "4"},
                                new SelectOptionQuantity {Value = "5", Text = "5"},
                                new SelectOptionQuantity {Value = "6", Text = "6"},
                                new SelectOptionQuantity {Value = "7", Text = "7"},
                                new SelectOptionQuantity {Value = "8", Text = "8"},
                                new SelectOptionQuantity {Value = "9", Text = "9"},
                                new SelectOptionQuantity {Value = "10", Text = "10"},
                                new SelectOptionQuantity {Value = "11", Text = "11"},
                                new SelectOptionQuantity {Value = "12", Text = "12"},
                                new SelectOptionQuantity {Value = "13", Text = "13"},
                                new SelectOptionQuantity {Value = "14", Text = "14"},
                                new SelectOptionQuantity {Value = "15", Text = "15"},
                                new SelectOptionQuantity {Value = "16", Text = "16"},
                                new SelectOptionQuantity {Value = "17", Text = "17"},
                                new SelectOptionQuantity {Value = "18", Text = "18"},
                                new SelectOptionQuantity {Value = "19", Text = "19"},
                                new SelectOptionQuantity {Value = "20", Text = "20"}

                            };
            return model;
        }

        public static List<SelectOptionQuantity> selectSortCategory()
        {
            var model = new List<SelectOptionQuantity>
                            {
                                new SelectOptionQuantity {Value = "0", Text = "- Lựa chọn -"},
                                new SelectOptionQuantity {Value = "1", Text = "Giá tăng dần"},
                                new SelectOptionQuantity {Value = "2", Text = "Giá giảm dần"},
                                new SelectOptionQuantity {Value = "3", Text = "Tên A - Z"},
                                new SelectOptionQuantity {Value = "4", Text = "Tên Z- A"},
                            };
            return model;
        }

        /// <summary>
        /// Lấy về danh sách trạng thái sản phẩm như "còn hàng", "hết hàng"
        /// </summary>
        /// <returns>List</returns>
        public static List<object> GetProductStatusList()
        {
            return new List<object> {
                                         new  { ItemValue = "conhang", ItemText = "còn hàng"},
                                         new  { ItemValue = "hethang", ItemText = "hết hàng"},
                                         new  { ItemValue = "goihang", ItemText = "gọi hàng"}
                                    };
        }

        public static bool CheckExistLogin()
        {
            var cusSession = HttpContext.Current.Session[SessionConfig.SessionCustomerLogin] as CustomerInfo;
            if(cusSession==null)
            {
                return false;
            }
            return true;
        }

        /// <summary>
        /// Tạo ra URL cho routing tới sản phẩm theo danh mục
        /// </summary>
        /// <param name="cateName"></param>
        /// <param name="cateId"></param>
        /// <param name="depth"></param>
        /// <returns></returns>
        public static string GenerateUrlProductByCate(string cateName, string cateId, int depth)
        {
            var url = string.Empty;
            switch (depth)
            {
                case 1:
                        url = string.Format("/danh-muc/c-1/{0}-{1}.html", StringUtil.RemoveSpecialCharactersVn(cateName),cateId);                                        
                        break;
                case 2:
                        url = string.Format("/danh-muc/{0}-{1}.html", StringUtil.RemoveSpecialCharactersVn(cateName), cateId); 
                        break;
                case 3: 
                        url = string.Format("/danh-muc/c-3/{0}-{1}.html", StringUtil.RemoveSpecialCharactersVn(cateName),cateId);                                        
                        break;
                default: 
                        url = string.Format("/danh-muc/c-1/{0}-{1}.html", StringUtil.RemoveSpecialCharactersVn(cateName),cateId);                                        
                        break;
            }
            return url;
        }

    }
}